<?php

/**
 * Controlardor de gestión de porras
 *
 */
class controlador_pronosticos {

    /**
     * Método para mostrar las competiciones
     */
    public function ver_pronosticos() {
        $obj_porra = new Porra();
        $competicion = $_GET['id'];
        $params_porra = $obj_porra->obtener_porras_disponibles($competicion);

//        $obj_partido = new Partido();
//        $params_partido = $obj_partido->obtener_partidos_porra(1);
        require 'app/views/porras.php';
    }

    public function apostar() {
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $obj_pronostico = new Pronostico();
            //Limpiamos los campos y los guardamos en variables
            $local1 = test_input($_POST['local1']);
            $local2 = test_input($_POST['local2']);
            $visitante1 = test_input($_POST['visitante1']);
            $visitante2 = test_input($_POST['visitante2']);
            $partido1 = test_input($_POST['partido1']);
            $partido2 = test_input($_POST['partido2']);
            $usuario = $_SESSION['betporra_id'];
            $competicion = test_input($_POST['competicion']);

            $array_datos1 = array(
                "usuario" => $usuario,
                "goles_local" => $local1,
                "goles_visitante" => $visitante1,
                "partido" => $partido1);

            $array_datos2 = array(
                "usuario" => $usuario,
                "goles_local" => $local2,
                "goles_visitante" => $visitante2,
                "partido" => $partido2);

            //comprobamos si el usuario ya ha apostado a esa porra
            $obj_pronostico2 = new Pronostico();
            $ya_apostado = $obj_pronostico2->comprobar_si_apostado($usuario, $partido1, $partido2);
            if ($ya_apostado) {
                $_SESSION['betporra_msj'] = SESION_YAAPOSTADO;
                header("location:tablon/$competicion");
            } else {

                //obtenemos los puntos que tiene el usuario
                $obj_usuario = new Usuario();
                $puntos_usuario = $obj_usuario->obtener_puntos($usuario);

                //obtenemos la porra de los partidos en los que hemos apostado
                $obj_partido = new Partido();
                $porra = $obj_partido->obtener_porra($partido1);

                //obtenemos datos de la porra
                $obj_porra = new Porra();
                $obj_porra->get($porra);
                $puntos_apuesta = $obj_porra->puntos_apuesta;

                //comprobamos que la fecha actual es menor que la de la porra
                $fecha_limite = $obj_porra->fecha_fin;
                $fecha_ahora = strftime("%Y-%m-%d %H:%M:%S", time());

                if ($fecha_ahora > $fecha_limite) {
                    $_SESSION['betporra_msj'] = SESION_FECHAEXPIRADA;
                    header("location:tablon/$competicion");
                } else {

                    //comprobamos que al usuario le quedan puntos para apostar
                    if ($puntos_usuario >= $puntos_apuesta) {
                        //guardamos los pronosticos apostados
                        $obj_pronostico->set($array_datos1);
                        $obj_pronostico->set($array_datos2);

                        //aumentamos el bote de la porra
                        $obj_porra->aumentar_bote($porra, $puntos_apuesta);

                        //restamos los puntos apostados
                        $obj_usuario->actualizar_puntos_usuario($usuario, $puntos_apuesta);

                        $_SESSION['betporra_msj'] = SESION_APUESTAREALIZADA;
                    } else {
                        $_SESSION['betporra_msj'] = SESION_PUNTOSINSUFICIENTES;
                    }
                }
                header("location:tablon/$competicion");
            }
        }
    }

    public function ver_mis_apuestas() {
        $obj_pronosticos = new Pronostico();
        $user = $_SESSION['betporra_id'];
        $params_pronosticos = $obj_pronosticos->get_mis_pronosticos($user);
        $params = array();
        foreach ($params_pronosticos as $param) {

            $obj_partido = new Partido();
            $params_partido = $obj_partido->obtener_partidos_porra_byUser($param['idporra'], $_SESSION['betporra_id']);

            $p_partido = array();
            foreach ($params_partido as $param_partido) {
                //Recojo los datos del partido en directo
                $params_datos_partido = datos_partido($param_partido['id_api']);

                $p_partido[] = array(
                    'id' => $param_partido['id'],
                    'fecha' => $param_partido['fecha'],
                    'equipo_local' => $param_partido['equipo_local'],
                    'equipo_visitante' => $param_partido['equipo_visitante'],
                    'goles_local' => $param_partido['goles_local'],
                    'goles_visitante' => $param_partido['goles_visitante'],
                    'estado' => $param_partido['estado'],
                    'porra' => $param_partido['porra'],
                    'id_api' => $param_partido['id_api'],
                    'usuario' => $param_partido['usuario'],
                    'partido' => $param_partido['partido'],
                    'acertada' => $param_partido['acertada'],
                    'ganancia' => $param_partido['ganancia'],
                    'equipo_local_nombre' => $param_partido['equipo_local_nombre'],
                    'equipo_local_escudo' => $param_partido['equipo_local_escudo'],
                    'equipo_visitante_nombre' => $param_partido['equipo_visitante_nombre'],
                    'equipo_visitante_escudo' => $param_partido['equipo_visitante_escudo'],
                    'datos_partido' => $params_datos_partido
                );
            }

            $params[] = array('id' => $param['id'],
                'usuario' => $param['usuario'],
                'idporra' => $param['idporra'],
                'idpartido' => $param['idpartido'],
                'partidos' => $p_partido,
                'competicionnombre' => $param['competicionnombre'],
                'descripcion' => $param['descripcion'],
                'puntos_apuesta' => $param['puntos_apuesta'],
                'ganancia' => $param['ganancia'],
                'imagen' => $param['imagen'],
                'fecha' => $param['fecha'],
            );
        }

        /* echo '<pre>';
          print_r($params);
          echo '</pre>';
          die(); */
        require 'app/views/mis_apuestas.php';
    }

}

?>